<?php

/**
 * Classe com funções úteis para o projeto.
 *
 * @author Kelvin Pereira Alves <kelvinpalves@gmail.com>
 */
class CommonAction {

    /**
     * Buscar o ip do cliente.
     */
    public static function getIPClient() {
        return $_SERVER['REMOTE_ADDR'];
    }

    /**
     * Verificar o método de requisição.
     */
    public static function getRequestMethod() {
        return $_SERVER['REQUEST_METHOD'];
    }

    /**
     * Verificar o nome do servidor.
     */
    public static function getServerName() {
        return $_SERVER['SERVER_NAME'];
    }

    /**
     * Buscar o ip do servidor.
     */
    public static function getIP() {
        return $_SERVER['SERVER_ADDR'];
    }

    /**
     * Verificar se string inicia com valor.
     */
    public static function startsWith($str, $vlr) {
        for ($i = 0; $i < strlen($vlr); $i++) {
            $aux .= $str[$i];
        }

        return ($aux === $vlr);
    }

    /**
     * Verificar se string termina com o valor.
     */
    public static function endsWith($str, $vlr) {
        for ($i = strlen($str); $i >= strlen($str) - strlen($vlr); $i--) {
            $aux .= $str[$i];
        }

        $aux = strrev($aux);

        return ($aux === $vlr);
    }
    
    /**
     * Verificar se string inicia com o valor ignorando maiusculo/minusculo.
     */
    public static function startsWithIgnoreCase($str, $vlr) {
        for ($i = 0; $i < strlen($vlr); $i++) {
            $aux .= $str[$i];
        }

        return (strtolower($aux) == strtolower($vlr));
    }

    /**
     * Verificar se string termina com o valor ignorando maiusculo/minusculo.
     */
    public static function endsWithIgnoreCase($str, $vlr) {
        for ($i = strlen($str); $i >= strlen($str) - strlen($vlr); $i--) {
            $aux .= $str[$i];
        }

        $aux = strrev($aux);

        return (strtolower($aux) == strtolower($vlr));
    }
}
